package dao;

import pojo.SmbmsUser;

import java.util.List;

public interface SmbmsUserDao {

    /**
     * 通过用户编码查询用户信息
     * @param userCode 用户编码
     * @return 用户对象
     * @throws Exception
     */
    SmbmsUser queryUserByUserCode(String userCode) throws Exception;


    /**
     * 查询用户信息并支持模糊查询支持角色查询支持分页
     * @param username 用户名
     * @return 用户集合
     * @throws Exception
     */
    List<SmbmsUser> queryUserByUserName(String username,int userRole,int currentPageNo,int pageSize) throws Exception;


    /**
     * 获取总个数
     * @return
     * @throws Exception
     */
    int getSmbmsUserCount(String username,int userRole) throws Exception;

    /**
     * 通过id查询所有信息
     * @param id 用户id
     * @return 用户对象
     * @throws Exception
     */
    SmbmsUser queryUserById(Long id) throws Exception;

    /**
     * 修改用户信息
     * @param smbmsUser 用户对象
     * @return 影响的行数
     * @throws Exception
     */
    int updateUser(SmbmsUser smbmsUser) throws Exception;

    /**
     * 增加用户信息
     * @param smbmsUser 用户对象
     * @return 影响的行数
     * @throws Exception
     */
    int addUser(SmbmsUser smbmsUser) throws Exception;

    /**
     * 通过id进行删除
     * @param id id主键
     * @return 影响的行数
     * @throws Exception
     */
    int deleteUser(Long id) throws Exception;

    /**
     * 修改密码
     * @param smbmsUser
     * @return
     * @throws Exception
     */
    int updatePassword(SmbmsUser smbmsUser)throws Exception;

}
//    /**
//     * 查询所有用户信息
//     * @return
//     * @throws Exception
//     */
//    List<SmbmsUser> queryList() throws Exception;

//    /**
//     * 查询所有并可以通过用户名进行模糊查询
//     * @param username 用户名
//     * @return 用户集合
//     * @throws Exception
//     */
//    List<SmbmsUser> queryUserByUserName(String username) throws Exception;


//    /**
//     * 查询用户信息并支持模糊查询支持角色查询并支持分页
//     * @param username
//     * @param userRole
//     * @return
//     * @throws Exception
//     */
//    List<SmbmsUser> queryUserByUserName(String username,int userRole) throws
//            Exception;
//
//    /**
//     * 分页
//     * @param currentPageNo 当前页
//     * @param pageSize 页面容量
//     * @return
//     * @throws Exception
//     */
//    List<SmbmsUser> queryList(int currentPageNo,int pageSize) throws Exception;




